home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 4: GNU Archives / Linux Cubed Series 4 - GNU Archives.iso / gnu / glibc-1.09 / glibc-1 / glibc-1.09.1 / sysdeps / standalone / i960 / nindy960 / console.c < prev    next >
Encoding:
C/C++ Source or Header  |  1994-08-25  |  1.9 KB  |  77 lines

  1. /* Copyright (C) 1994 Free Software Foundation, Inc.
  2.    Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil),
  3.      On-Line Applications Research Corporation.
  4.  
  5. This file is part of the GNU C Library.
  6.  
  7. The GNU C Library is free software; you can redistribute it and/or
  8. modify it under the terms of the GNU Library General Public License as
  9. published by the Free Software Foundation; either version 2 of the
  10. License, or (at your option) any later version.
  11.  
  12. The GNU C Library is distributed in the hope that it will be useful,
  13. but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  15. Library General Public License for more details.
  16.  
  17. You should have received a copy of the GNU Library General Public
  18. License along with the GNU C Library; see the file COPYING.LIB.  If
  19. not, write to the Free Software Foundation, Inc., 675 Mass Ave,
  20. Cambridge, MA 02139, USA.  */
  21.  
  22. #include <ansidecl.h>
  23. #include <standalone.h>
  24. #include "__i960ca.h"
  25.  
  26. /* Console IO routines for a NINDY960 board. */
  27.    
  28. /*
  29.  *  NINDY_IO( ... )
  30.  *
  31.  *  Interface to NINDY.
  32.  */
  33.  
  34. #define NINDY_INPUT   0
  35. #define NINDY_OUTPUT  1
  36.  
  37. void ___NINDY_IO_WRAPPER( void )  /* never called */
  38. {
  39.    asm volatile ( "       .text" );
  40.    asm volatile ( "       .align 4" );
  41.    asm volatile ( "       .globl _NINDY_IO" );
  42.    asm volatile ( "_NINDY_IO:" );
  43.    asm volatile ( "        calls   0       /* call console routines */" );
  44.    asm volatile ( "        ret" );
  45. }
  46.  
  47. /***** !!!! HOW DO I EXFUN NINDY_IO? !!!! *****/
  48.  
  49. /* _Console_Putc
  50.  
  51. This routine transmits a character using NINDY.  */
  52.  
  53. int
  54. DEFUN( _Console_Putc, (ch), char ch )
  55. {
  56.   NINDY_IO( NINDY_OUTPUT, ch );
  57.   return( 0 );
  58. }
  59.  
  60. /* _Console_Getc
  61.  
  62. This routine reads a character from NINDY and returns it. */
  63.  
  64. int
  65. DEFUN( _Console_Getc, (poll), int poll )
  66. {
  67.   char ch;
  68.  
  69.   if ( poll ) {
  70.     /* I don't know how to poll with NINDY */
  71.     return -1;
  72.   } else {
  73.     NINDY_IO( NINDY_INPUT, &ch );
  74.     return ch;
  75.   }
  76. }
  77.